-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(1624): first draft, prototype of context map grammar and diagram #5353
base: develop
Are you sure you want to change the base?
feat(1624): first draft, prototype of context map grammar and diagram #5353
Conversation
✅ Deploy Preview for mermaid-js ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
As mentioned in the todo, my current focus is on addressing some key pain points:
These issues are readily apparent in the demo I'm completely open to suggestions and advice for enhancing the graph implementation. Please feel free to share here any thoughts or ideas you have in mind! |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #5353 +/- ##
==========================================
- Coverage 5.85% 5.75% -0.11%
==========================================
Files 274 283 +9
Lines 41112 41922 +810
Branches 488 522 +34
==========================================
+ Hits 2408 2413 +5
- Misses 38704 39509 +805
Flags with carried forward coverage won't be shown. Click here to find out more.
|
e002223
to
e5e3415
Compare
Can you please refer to these PRs and use langium instead of jison? |
Hi! @sidharthv96, thanks a lot for the heads up! I totally missed that earlier. edit: is it acceptable for me to target the 'next' branch at this point? |
Currently, the documentation is kind of outdated, so it may not be relevant in some aspects, especially when creating new diagrams with Langium.
You don't need to create a new package; just create new folders with the name of the diagram in:
Then please refer to the listed PRs above to know what other files should be modified or added.
Yes, the |
packages/mermaid/src/diagrams/context-map/parser/contextMap.jison
Outdated
Show resolved
Hide resolved
packages/mermaid/src/diagrams/context-map/parser/contextMap.jison
Outdated
Show resolved
Hide resolved
packages/mermaid/src/diagrams/context-map/parser/contextMap.jison
Outdated
Show resolved
Hide resolved
packages/mermaid/src/diagrams/context-map/parser/contextMap.jison
Outdated
Show resolved
Hide resolved
Hi @nirname Thank you for the feedback! I'll update the naming convention. Regarding Jison, I'm currently working on the ContextMap Langium parser here, so the Jison version will be changed. PS: yep, I initially called it 'mini-context-map' because it might not fully implement the language reference. However, I later removed the prefix as it didn't seem relevant. |
We are really interested in this feature. Has there been any progress recently? Happy to help test or otherwise assist. Thanks. |
Hi @benr77, sure! I'm currently finishing the integration of the previous work with the new Langium parser. In a few days, I'll update this pull request with the master branch and resume work on the drawing part, which still lacks many features. If you'd like, we can have a discussion on the Mermaid Discord once I wrap up my current task. Since I'm working on this in my spare time, my schedule isn't precise. I'm not an expert in this domain, so any insights or experience you can share would be super valuable. I'm also the first interested in making this kind of chart available on Mermaid, but consider that I'm treating it as an ongoing side project. |
Hey @AngeloChecked thanks for the update. I am happy hear that this is still moving forward, and I completely understand it's a voluntary side project (I have several myself!). Ping me a message when things are at a good stage to test, and I'll spend some time working with it and happy to report back with issues. I am no expert at context mapping or Mermaid but I am involved in a project whereby we are going to need this kind of diagramming a lot over the coming months so I'll have plenty of opportunities to test it. Thanks! |
e5e3415
to
6cfcda8
Compare
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
6cfcda8
to
8d3f4ac
Compare
8d3f4ac
to
8613b08
Compare
Hi @nirname, @sidharthv96, @Yokozuna59 I've force-pushed the entire branch with the new Langium parser implementation (and solved some linting). I'm very open to any feedback, corrections, or improvements (config, naming, testing...). Now, I'm shifting my focus back to the drawing part. |
How can I start to use this feature on the live mermaid site? |
Hi @hemalvarambhia, I’m focusing on other stuff right now, so progress on this is slowing down. I plan to return on this in a few days. It’s far from ready... I’m dealing with issues like overlapping elements and experimenting with the spring embedder-like solutions. I don’t have a timeline yet for a usable version on the Mermaid website, but knowing there’s interest motivates me to prioritize it when I’m back. Thanks! |
@AngeloChecked that's perfect. I'll try to keep an eye. I love drawing context maps as they've been helpful. |
@hemalvarambhia Let me refocus on this project, and if you'd like, we can set up an online meeting. |
@AngeloChecked I'd love it if you could refocus. I am drawing a context map at the moment. Being able to draw one would provide developers with important information for their work. |
@AngeloChecked I am happy to have that conversation ❤️. Can Zoom work? |
📑 Summary
Hi Mermaid Guys, this PR addresses the diagram discussed in this GitHub issue: 1624.
You can find a demo here: https://angelochecked.github.io/mermaid/
I've started implementing something, but it's in its early and raw stages. If anyone has a better prototype, please reach out to me (writing here) so I can contribute to it.
I've opened this draft pull request primarily to gather feedback from those more skilled than me in drawing 2D elements. I'll be working on this in my spare time, and I'm unsure when it will reach production grade. However, I'm very open to suggestions. If anyone wants to collaborate on the implementation of this diagram, please let me know.
I'm experimenting with rendering using plain d3 in this orphan branch: contextMapDiagramGluedPrototype branch.
Mermaid Devs
: I hope this draft PR doesn't create noise. If it does, I can close it and use the related issues to seek feedback.Additionally, feel free to share/post here any insights you believe could enhance both this contribution and the diagram implementation. Your input is greatly appreciated in beautifying and refining the the diagram implementation :).
I'll continue to provide updates here on the current state of the implementation.
Resolves #1624
📏 Design Decisions
I'm starting to experiment with the prototype design of this diagram using plain d3 in the simplest way possible. My decisions might be subjective, as I'm not particularly skilled in this domain of drawing d3 elements, but I'm learning along the way. I'm completely open to suggestions and improvements in the approach.
📋 Tasks
TODO:
develop
branchBig Picture
MERMAID_RELEASE_VERSION
is used for all new features.open to suggestions
Parsing
contextMap
scopecontains
prefix keywordscontains
keywordopen to suggestions
Diagram Rendering
open to suggestions